home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #6 / Amiga Plus CD - 2004 - No. 06.iso / AmigaPlus / Begleitmaterial / 50Tools / Grafik / PerfectPaint / rexx / general / ClipBoard.rx next >
Text File  |  2002-06-16  |  2KB  |  91 lines

  1. /*  arexx Script 
  2.     Load & Save ClipBoard
  3.     Need in PfPaint/Tools CBDump and Copy2Clip
  4. */
  5.  
  6.   options results
  7.   parse ARG Port Type Action b
  8.   ADDRESS value Port
  9.  
  10.     pp_GetPath 0
  11.     P0=result
  12.     pp_GetPath 1
  13.     P1=result
  14.  
  15.     IF Action=1 then DO
  16.         IF Type=0 then DO
  17.             pp_SavePrefs 0 0 100 0 0
  18.             pp_Save 'Ram:PfP_ClipBoard' 0
  19.             pp_asay 'Saving*into*ClipBoard'                 
  20.             ADDRESS COMMAND
  21.         'PerfectPaint:Tools/Copy2Clip ram:PfP_ClipBoard BINARY'
  22.             ADDRESS value Port            
  23.             pp_CloseAsay            
  24.         END
  25.         ELSE
  26.         DO
  27.             pp_GetDepth
  28.             IF result<24 then DO
  29.                 pp_Bsave "ram:PfP_ClipBoard" 0 0
  30.             END
  31.             ELSE
  32.             DO
  33.                 pp_Bsave "ram:PfP_ClipBoard" 0 1
  34.             END
  35.             ADDRESS COMMAND
  36.         'PerfectPaint:Tools/Copy2Clip ram:PfP_ClipBoard BINARY'            
  37.         END
  38.     END
  39.     ELSE
  40.     DO
  41.         ADDRESS value Port        
  42.         pp_asay 'Reading*ClipBoard'            
  43.         ADDRESS COMMAND        
  44.         'PerfectPaint:Tools/cbdump >ram:PfP_CLipBoard'
  45.         Val=0
  46.         ADDRESS value Port
  47.         pp_CloseAsay
  48.         IF EXISTS('ram:PfP_CLipBoard')=1 then DO
  49.             IF Type=0 then DO
  50.                 pp_GetWidth
  51.                 W=result
  52.                 IF W=0 then DO
  53.                     pp_Load 'ram:PfP_CLipBoard'
  54.                 END
  55.                 ELSE
  56.                 DO
  57.                     pp_Request "This*Buffer*is*not*empty.|Do*you*want*to*erase*it*?"
  58.                     IF result=0 then DO
  59.                         ADDRESS COMMAND
  60.                       'delete >nil: ram:PfP_Clipboard'
  61.                         EXIT
  62.                     END
  63.                     ELSE
  64.                     DO
  65.                         pp_Load 'ram:PfP_CLipBoard'
  66.                     END
  67.                 END
  68.             END
  69.             ELSE
  70.             DO
  71.                 pp_Bload 'ram:PfP_CLipBoard'
  72.             END
  73.         END
  74.         ELSE
  75.         DO
  76.              pp_Warn "ClipBoard*is*empty."
  77.              EXIT
  78.         END        
  79.     END
  80.  
  81.     ADDRESS COMMAND
  82.   'delete >nil: ram:PfP_Clipboard'
  83.  
  84.     ADDRESS value Port    
  85.     pp_SetPath 0 P0
  86.     pp_SetPath 1 P1
  87.  
  88.     EXIT
  89.  
  90.  
  91.